#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QUdpSocket>
#include<QDebug>
#include<QTcpSocket>
#include<QMetaEnum>
#include <QSet>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    /**
     * @brief 显示消息
     * @param info
     */
    void showMessage(const QString &info);

    /**
     * @brief 发送数据
     */
    void on_btnSend_clicked();

    /**
     * @brief 启动服务器
     */
    void on_btnStart_clicked();

    /**
     * @brief 数据到来的信号
     */
    void  slotReadyRead();

    /**
     * @brief 出错
     */
    void slotError(QAbstractSocket::SocketError);


private:
    Ui::Widget *ui;
    //定义UDP套接字类对象
    QUdpSocket  m_udp;
    bool m_start = false;

};
#endif // MAINWINDOW_H
